﻿// 龙曲线 DRAGON.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

//https://algospot.com/judge/problem/read/DRAGON
/*
问题

龙曲线（Dragon curve）是一种通过简单的数学规则绘制的图形，如上图所示。龙曲线从一条线段开始，通过简单的规则对该线段进行变换，并随着世代的变化而演化成更复杂的形状。类似于这样，在局部放大时仍具有与整体相似形状的图形被称为分形（fractal）。

将绘制龙曲线的方法称为龙曲线字符串。龙曲线字符串由X、Y、F、+、-组成，我们可以从一个点开始按照以下方式绘制曲线：

F：向前移动一步并画线。
+：向左转90度。
-：向右转90度。
X、Y：忽略。

绘制0代龙曲线的字符串是一条线段FX。然后，下一代通过将上一代字符串的每个字符替换为以下内容来生成：

X => X+YF
Y => FX-Y
因此，1、2代龙曲线字符串如下所示：

1代：FX+YF
2代：FX+YF+FX-YF
希望找到第n代龙曲线字符串。但是字符串太长了，我们只需要计算从第p个字符开始的l个字符的程序。

输入
输入的第一行包含测试用例的数量c（c<=50）。每个测试用例的第一行包含三个整数，代表龙曲线的世代n（0<=n<=50），p和l（1<=p<=1,000,000,000，1<=l<=50）。

龙曲线字符串的长度始终大于等于p+l。

输出
对于每个测试用例，输出一行，表示第n代龙曲线字符串从第p个字符开始的l个字符。

示例输入
4
0 1 2
1 1 5
2 6 5
42 764853475 30

示例输出
FX
FX+YF
+FX-Y
FX-YF-FX+YF+FX-YF-FX+YF-FX-YF-
*/
int main()
{
    std::cout << "Hello World!\n";
}

 